layui.config({ // 引入layui 扩展js组件
    base: '../layui/sliderVerify/'
})
layui.use(['form', 'layer', 'sliderVerify'], function () {
    var form = layui.form
        , layer = layui.layer
        , sliderVerify = layui.sliderVerify
        , $ = layui.$;
    var slider = sliderVerify.render({
        elem: '#slider',
        isAutoVerify:false,//关闭自动验证
    })
    //自定义验证规则
    form.verify({
        title: function (value) {
            if (value.length < 3) {
                return "用户名至少3个字符";
            }
            if (!new RegExp("^[a-zA-Z0-9_\u4e00-\u9fa5\\s·]+$").test(value)) {
                return '用户名不能有特殊字符';
            }
            if (/^\d+\d+\d$/.test(value)) {
                return '用户名不能全为数字';
            }
        }
        , pass: function (value) {
            if (!/^(?![^a-zA-Z]+$)(?!\D+$).{6,12}$/.test(value)) {
                return '密码必须包含数字和字母,且为6-12位';
            }
        }
        , workId: function (value) {
            if (!/^\d{11}$/.test(value)) {
                return '工号为11位数字';
            }
        }
    });
    //验证用户名是否存在
    $('#username').blur(() =>{
        let username = $('#username').val();
        if (username.length < 3) {
            layer.msg("用户名至少3个字符");
        }
        else if (!new RegExp("^[a-zA-Z0-9_\u4e00-\u9fa5\\s·]+$").test(username)) {
            layer.msg('用户名不能有特殊字符');
        }
        else if (/^\d+\d+\d$/.test(username)) {
            layer.msg('用户名不能全为数字');
        }else{
            $.ajax({
                type: 'post',
                url: '/Class/login/selUsername?time=' + new Date().getTime(), //防止浏览器拦截重复请求
                dataType: 'json',
                data: { username},
                success: function (res) {
                    if (res.code != 0) {
                        $('#usernameUp').text(res.msg);
                    } else $('#usernameUp').text("");
                }
            })
        }
    });
    //验证用户工号是否存在
    $('#teaNo').blur(() =>{ //节点失焦事件
        let papers = $('#teaNo').val();
        if (!/^\d{11}$/.test(papers)) {
            layer.msg('工号为11位数字');
        }else{
            $.ajax({
                type: "post",
                url: "/Class/login/selTeaNo?time" + new Date().getTime(),
                dataType: "json",
                data: { papers},
                success: (res) =>{
                    if (res.code != 0) {
                        $('#papersUp').text(res.msg);
                    } else $('#papersUp').text("");
                }
            })
        }
    })
    //验证码获取
    $("#codeBtn").on("click", function (data) {
        if(slider.isOk()){//用于表单验证是否已经滑动成功
            let phone = $("#phone").val()
            if (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(phone))) {   //^1 以数字1开头 (3|4|5|6|7|8|9)第二位数 \d(9) 任意9位数 $以数字结尾
                layer.msg("手机号码有误，请重填");
            } else {
                $.ajax({
                    type: "post",
                    url: "/Class/login/mobileCode",
                    dataType: "json",
                    data: {
                        "phone": phone
                    },
                    success: function (res) {
                        if (res.code == 0) {
                            layer.msg(res.msg)
                        } else {
                            layer.msg(res.msg)
                        }
                    }
                })
            }
        }else{
            layer.msg("请先通过滑块验证");
        }
    });
    //用户协议
    $('#agreement').click(function () {
        layer.open({
            type: 1,
            title: '用户协议',
            area: ['450px', '300px'],
            content: '<div style="width: 450px;height: 190px;margin-top: 10px;"><div style="width: 390px;height: 150px;margin-left: 30px;">欢迎使用调课系统<br><br>重要提示：<br><br>'
                + '请您仔细阅读以下条款，并确认您已完全理解本协议之规定，尤其是免除及限制责任的条款、知识产权条款、法律适用及争议解决条款。'
                + '若您对本声明或本协议任何条款有异议，请停止注册或使用本系统所提供的全部服务。</div></div>'
        });
    });
    //底部信息点击
    $('.bottom .row a').click(() => {
        layer.msg("该功能尚未开发");
    })
    //监听提交
    form.on('submit(register)', function (data) {
        var mobileCode = data.field.mobileCode
        //复选框检查
        if ($("#agree").is(":checked") === true) {
            $.ajax({
                type: 'post',
                url: '/Class/login/codeVarify',//验证码验证
                dataType: 'json',
                data: {
                    "testCode": mobileCode, "type": 0
                },
                success: function (res) {
                    if (res.code == 0) {
                        $.ajax({
                            type: 'post',
                            url: '/Class/login/registerOn',//注册
                            dataType: 'json',
                            data: data.field,
                            success: function (res) {
                                if (res.code == 0) {
                                    layer.open({
                                        title: '提示'
                                        , content: '注册成功！即将跳转至登录页面！',
                                        time: 3000
                                    });
                                    setTimeout(function () {
                                        window.location.href = "/Class/login/goLogin"
                                    }, 3000)
                                } else {
                                    layer.msg(res.msg)
                                }
                            }
                        })
                    } else {
                        layer.msg(res.msg)
                    }
                }
            })
        } else {
            layer.msg("请先阅读《用户协议》！")
        }
        return false;
    });

});

//密码显示
function pwdToggle() {
    let $ = layui.$;
    $('#pwd').removeClass('layui-icon-radio').addClass('layui-icon-circle');
    $('#password').attr('type', 'text');
}
//密码隐藏
function pwdShow() {
    let $ = layui.$;
    $('#pwd').removeClass('layui-icon-circle').addClass('layui-icon-radio');
    $('#password').attr('type', 'password');
}